# importación de tabla de herramientas
import pandas as pd
df_prod = pd.read_excel('Encuesta_productores_huasteca_alumnos.xlsx',0)
#print (df_prod)
Total_data = pd.ExcelFile('Encuesta_productores_huasteca_alumnos.xlsx')
df_prod
df_fam = pd.read_excel('Encuesta_productores_huasteca_alumnos.xlsx',1)
#df_fam
# conversion de columnas a subtablas
new_name = list(range(52))
new_name
df_prod.columns = new_name
df_prod.columns
df_prod[8]
df_prod[8] = df_prod[8].replace(['Huejutla de Reyes,Hgo.','Huejutla de reyes','Huejutla, hgo',
'Huejutla,hgo'],'HUEJUTLA DE REYES')
df_prod[8] = df_prod[8].replace(['Yahualica','Yahualica, Hgo', 'Yahualica,Hgo','Yahualica,hgo'],'YAHUALICA')
df_prod[8] = df_prod[8].replace(['Xochiatipan, Hgo','Xochiatipan, hgo'],'XOCHIATIPAN')
#df_prod[8]
#muni = df_prod.iloc[:,8]
#muni
import plotly.express as px
df = df_prod
fig = px.pie(df, values=25, names=8, title='Proporción de municipios en la Huasteca')
fig.show()
df_prod.groupby(8).size()
fig = px.box(df_prod, x=11, y=16,points="all", title = 'Diagrama caja número de familiares contra edad')
fig.update_yaxes(title_text='Numero de familiares')
fig.update_xaxes(title_text='Edad')
fig.show()
fig = px.box(df_prod, x=17, y=16,points="all", title = 'Diagrama caja número de familiares contra cantidad de'+
' terrenos')
fig.update_yaxes(title_text='Número de familiares')
fig.update_xaxes(title_text='Número de terrenos')
fig.show()
fig = px.bar(df_prod, x=11, y=25, title = "Edad del productor Vs. Numero de espacios de vida")
fig.update_yaxes(title_text='Número de espacios de vida')
fig.update_xaxes(title_text='Edad')
fig.show()
merged_inner = pd.merge(left=df_prod,right=df_fam, left_on=51, right_on='_parent_index')
# En este caso, `species_id` es el único nombre de columna en los dos __DataFrames__, entonces si omitimos
# los argumentos `left_on` y `right_on` todavía obtendríamos el mismo resultado
merged_inner.shape
#merged_inner
merged_inner['Familia/¿Qué parentesco tiene con el jefe de familia?']
#### Tabla de contingencia
tc_fam = pd.crosstab(index=merged_inner["_parent_index"],
columns=merged_inner['Familia/¿Qué parentesco tiene con el jefe de familia?'], margins=True)
#tc_fam
import numpy as np
#Familias nucleares
condiciones = [((tc_fam.iloc[:,0] == 1) | (tc_fam.iloc[:,1] == 1)) &
((tc_fam.iloc[:,2] == 0) & (tc_fam.iloc[:,3] == 0) &
(tc_fam.iloc[:,4] == 0) & (tc_fam.iloc[:,5] == 0) &
(tc_fam.iloc[:,6] == 0)),
(tc_fam.iloc[:,0] == 0) & (tc_fam.iloc[:,1] == 0)]
elecciones = np.array((1,2), dtype="int8")
tc_fam["Nuclear"] = np.select(condiciones, elecciones, -1)
tc_fam
# Familias extendidas
condiciones2 = [(tc_fam.iloc[:,2] == 1) | (tc_fam.iloc[:,3] == 1) |
(tc_fam.iloc[:,4] == 1) | (tc_fam.iloc[:,5] == 1) |
(tc_fam.iloc[:,6] == 1),
(tc_fam.iloc[:,2] == 0) & (tc_fam.iloc[:,3] == 0) &
(tc_fam.iloc[:,4] == 0) & (tc_fam.iloc[:,5] == 0) &
(tc_fam.iloc[:,6] == 0)]
elecciones2 = np.array((1,0), dtype="int8")
tc_fam["Extendida"] = np.select(condiciones2, elecciones2, -1)
tc_fam
#tc_fam.groupby('All').size()
#tc_fam.groupby('Nuclear').size()
# initialize list of lists
data = [['Nuclear', 30], ['Extendida', 12] ]
# Create the pandas DataFrame
df_fam_type = pd.DataFrame(data, columns = ['Tipo', 'Numero'])
# print dataframe.
df_fam_type
fig = px.pie(df_fam_type, values='Numero', names='Tipo',
title='Proporción de tipos de familias en la huasteca')
fig.show()
fig = px.pie(merged_inner, values='_index', names='Familia/¿Qué parentesco tiene con el jefe de familia?',
title='Proporción de integrantes de familias en la huasteca')
fig.show()
fig = px.pie(merged_inner, values='Familia/loop_familia', names='Familia/¿Cuál es su último año de estudios de la/ el ${parentesco}?',
title='Proporción de escolaridad de familias en la huasteca')
fig.show()
fig = px.pie(merged_inner, values='_index', names='Familia/¿Cuál es su último año de estudios de la/ el ${parentesco}?',
title='Proporción de escolaridad (index) de familias en la huasteca')
fig.show()
fig = px.pie(merged_inner, values='_index', names='Familia/Actividad principal que realiza en orden de importancia, separado por comas:',
title='Proporción de actividades de familias en la huasteca')
fig.show()
#Tabla de terrenos
df_ext = pd.read_excel('Encuesta_productores_huasteca_alumnos.xlsx',2)
#df_ext
df_alimentaria = pd.read_excel('Encuesta_Alimentaria_huasteca_alumnos.xlsx',0)
#print (df_prod)
Total_alimentaria = pd.ExcelFile('Encuesta_Alimentaria_huasteca_alumnos.xlsx')
#df_alimentaria
df_fam_alim = pd.read_excel('Encuesta_Alimentaria_huasteca_alumnos.xlsx',1)
#df_fam_alim
general_alim=df_alimentaria.iloc[:,8:32]
general_alim.groupby(['Municipio de la encuesta']).size()
# conversion de columnas a subtablas
new_name = list(range(24))
new_name
general_alim.columns = new_name
#general_alim.columns
import plotly.express as px
df = general_alim
fig = px.pie(df, values=4, names=0, title='Proporción de municipios en la Huasteca')
fig.show()
fig = px.bar(general_alim, x=4, y=9, title = "Edad de la jefa de familia Vs. Número de integrantes familiares")
fig.update_yaxes(title_text='Número de integrantes familiares')
fig.update_xaxes(title_text='Edad')
fig.show()
vivienda=df_alimentaria.iloc[:,33:69]
#vivienda
# conversion de columnas a subtablas
new_name = list(range(36))
new_name
vivienda.columns = new_name
vivienda.columns
vivienda.insert(0, 'id',list(range(46)), True)
#vivienda
block=pd.value_counts(vivienda[1])
block
df_block= block.rename_axis('block').reset_index(name='counts')
df_block = pd.DataFrame(df_block)
df_block.loc[df_block['block'] == 0, 'block'] = 'No'
df_block.loc[df_block['block'] == 1, 'block'] = 'Si'
print (df_block)
fig = px.pie(df_block, values='counts', names='block', title='Proporción viviendas con block en la huasteca',
color ='block', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
techo=pd.value_counts(vivienda[2])
techo
df_techo= techo.rename_axis('techo').reset_index(name='counts')
df_techo = pd.DataFrame(df_techo)
df_techo.loc[df_techo['techo'] == 0, 'techo'] = 'No'
df_techo.loc[df_techo['techo'] == 1, 'techo'] = 'Si'
print (df_techo)
fig = px.pie(df_techo, values='counts', names='techo', title='Proporción viviendas con techo colado en la huasteca',
color ='techo', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
lamina=pd.value_counts(vivienda[3])
lamina
df_lamina= lamina.rename_axis('lamina').reset_index(name='counts')
df_lamina = pd.DataFrame(df_lamina)
df_lamina.loc[df_lamina['lamina'] == 0, 'lamina'] = 'No'
df_lamina.loc[df_lamina['lamina'] == 1, 'lamina'] = 'Si'
print (df_lamina)
fig = px.pie(df_lamina, values='counts', names='lamina', title='Proporción viviendas con lamina en la huasteca',
color ='lamina', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
adobe=pd.value_counts(vivienda[4])
adobe
df_adobe= adobe.rename_axis('adobe').reset_index(name='counts')
df_adobe = pd.DataFrame(df_adobe)
df_adobe.loc[df_adobe['adobe'] == 0, 'adobe'] = 'No'
df_adobe.loc[df_adobe['adobe'] == 1, 'adobe'] = 'Si'
print (df_adobe)
fig = px.pie(df_adobe, values='counts', names='adobe', title='Proporción viviendas con adobe en la huasteca',
color ='adobe', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
piso=pd.value_counts(vivienda[5])
piso
df_piso= piso.rename_axis('piso').reset_index(name='counts')
df_piso = pd.DataFrame(df_piso)
df_piso.loc[df_piso['piso'] == 0, 'piso'] = 'No'
df_piso.loc[df_piso['piso'] == 1, 'piso'] = 'Si'
print (df_piso)
fig = px.pie(df_piso, values='counts', names='piso', title='Proporción viviendas con piso firme en la huasteca',
color ='piso', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
sin_piso=pd.value_counts(vivienda[6])
sin_piso
df_sin_piso= sin_piso.rename_axis('sin_piso').reset_index(name='counts')
df_sin_piso = pd.DataFrame(df_sin_piso)
df_sin_piso.loc[df_sin_piso['sin_piso'] == 0, 'sin_piso'] = 'No'
df_sin_piso.loc[df_sin_piso['sin_piso'] == 1, 'sin_piso'] = 'Si'
print (df_sin_piso)
fig = px.pie(df_sin_piso, values='counts', names='sin_piso', title='Proporción viviendas sin piso en la huasteca',
color ='sin_piso', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
Otro=pd.value_counts(vivienda[7])
Otro
df_Otro= Otro.rename_axis('Otro').reset_index(name='counts')
df_Otro = pd.DataFrame(df_Otro)
df_Otro.loc[df_Otro['Otro'] == 0, 'Otro'] = 'No'
df_Otro.loc[df_Otro['Otro'] == 1, 'Otro'] = 'Si'
print (df_Otro)
fig = px.pie(df_Otro, values='counts', names='Otro', title='Proporción viviendas con otros materiales en la huasteca',
color ='Otro', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
otro_mat=pd.value_counts(vivienda[8])
otro_mat
df_otro_mat= otro_mat.rename_axis('otro_mat').reset_index(name='counts')
df_otro_mat = pd.DataFrame(df_otro_mat)
df_otro_mat.loc[df_otro_mat['otro_mat'] == 0, 'otro_mat'] = 'No'
df_otro_mat.loc[df_otro_mat['otro_mat'] == 1, 'otro_mat'] = 'Si'
print (df_otro_mat)
fig = px.pie(df_otro_mat, values='counts', names='otro_mat', title='Proporción viviendas con otros materiales en la huasteca')
fig.show()
#Columnas 1=block 2= techocolado, 3= lamina, 4 = adobe, 5= piso firme, 6 = sin piso, 7 = otro
import plotly.graph_objects as go
fig = go.Figure(data=[
go.Bar(name='Block', y=vivienda['id'], x=vivienda[1]),
go.Bar(name='Techo', y=vivienda['id'], x=vivienda[2]),
go.Bar(name='Lamina', y=vivienda['id'], x=vivienda[3]),
go.Bar(name='Adobe', y=vivienda['id'], x=vivienda[4]),
go.Bar(name='Piso firme', y=vivienda['id'], x=vivienda[5]),
go.Bar(name='Sin piso', y=vivienda['id'], x=vivienda[6]),
go.Bar(name='Otro', y=vivienda['id'], x=vivienda[7])
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
mat=pd.value_counts(vivienda[0])
mat
df_mat= mat.rename_axis('mat').reset_index(name='counts')
df_mat = pd.DataFrame(df_mat)
df_mat.loc[df_mat['mat'] == 0, 'mat'] = 'No'
df_mat.loc[df_mat['mat'] == 1, 'mat'] = 'Si'
print (df_mat)
fig = px.pie(df_mat, values='counts', names='mat', title='Proporción materiales de viviendas en la huasteca',
color ='mat', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
from plotly.subplots import make_subplots
import plotly.graph_objects as go
maxi=4
mini=0
midi=1
# ncontours = 16
fig = make_subplots(
rows=3, cols=3,
subplot_titles=("Block", "Techo Colado", "Lamina","Adobe","Piso firme","Sin Piso",
"Otro"))
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[1], ybins = dict(start = 0.0, end = 1,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=1, col=1)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[2],ybins = dict(start = 0.0, end = 3.5,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=1, col=2)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[3], ybins = dict(start = 0.0, end = 3.5,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=1, col=3)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[4], ybins = dict(start = 0.0, end = 4,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=2, col=1)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[5], ybins = dict(start = 0.0, end = 4,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=2, col=2)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[6], ybins = dict(start = 0.0, end = 4,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=2, col=3)
fig.add_trace(go.Histogram2dContour(
x = vivienda['id'],y = vivienda[7], ybins = dict(start = 0.0, end = 4,size=0.5), colorbar=dict(
title='Colorbar',
tickfont={'color':'white' },
titlefont={"color":'white'})),
row=3, col=1)
fig.update_layout(height=500, width=700,
title_text="Tipos de vivienda")
fig.show()
import plotly.graph_objects as go
from plotly.subplots import make_subplots
labels = ["Block", "Techo Colado", "Lamina","Adobe","Piso firme","Sin Piso",
"Otro"]
# Create subplots: use 'domain' type for Pie subplot
fig = make_subplots(rows=3, cols=3, specs=[[{'type':'domain'}, {'type':'domain'}, {'type':'domain'}],
[{'type':'domain'}, {'type':'domain'}, {'type':'domain'}],
[{'type':'domain'}, {'type':'domain'}, {'type':'domain'}]])
fig.add_trace(go.Pie(labels=labels, values=vivienda[1], name="Block"),
1, 1)
fig.add_trace(go.Pie(labels=labels, values=vivienda[2], name="Techo Colado"),
1, 2)
fig.add_trace(go.Pie(labels=labels, values=vivienda[3], name="Lamina"),
1, 3)
fig.add_trace(go.Pie(labels=labels, values=vivienda[4], name="Adobe"),
2, 1)
fig.add_trace(go.Pie(labels=labels, values=vivienda[5], name="Piso Firme"),
2, 2)
fig.add_trace(go.Pie(labels=labels, values=vivienda[6], name="Sin Piso"),
2, 3)
fig.add_trace(go.Pie(labels=labels, values=vivienda[7], name="Otro"),
3, 1)
# Use `hole` to create a donut-like pie chart
fig.update_traces(hole=.4, hoverinfo="label+percent+name")
fig.update_layout(
title_text="Proporción de materiales de viviendas familares en la Huasteca",
# Add annotations in the center of the donut pies.
annotations=[dict(text='Block', x=0.12, y=0.9, font_size=12, showarrow=False),
dict(text='Techo', x=0.5, y=0.9, font_size=12, showarrow=False),
dict(text='Lamina', x=0.885, y=0.9, font_size=12, showarrow=False),
dict(text='Adobe', x=0.12, y=0.5, font_size=12, showarrow=False),
dict(text='Piso', x=0.5, y=0.5, font_size=12, showarrow=False),
dict(text='S/piso', x=0.875, y=0.5, font_size=12, showarrow=False),
dict(text='Otro', x=0.12, y=0.1, font_size=12, showarrow=False)])
fig.show()
fig = px.pie(vivienda, values=1, names=0, title='Proporción de ciclos en la Huasteca')
#fig.show()
import plotly.express as px
data=[vivienda[1], vivienda[2], vivienda[3],vivienda[4],vivienda[5],vivienda[6],vivienda[7]]
fig = px.imshow(data,
labels=dict(x="Número de productor", y="Material", color="presencia"),
#x=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
y=['Block', 'Techo', 'Lamina', 'Adobe', 'Piso', 'S/Piso', 'Otro']
)
fig.update_xaxes(side="top")
fig.show()
Bienes = vivienda.iloc[:,9:26]
new_name = list(range(17))
new_name
Bienes.columns = new_name
Bienes.columns
Bienes.insert(0, 'id',list(range(46)), True)
micro=pd.value_counts(vivienda[10])
micro
df_micro= micro.rename_axis('micro').reset_index(name='counts')
df_micro = pd.DataFrame(df_micro)
df_micro.loc[df_micro['micro'] == 0, 'micro'] = 'No'
df_micro.loc[df_micro['micro'] == 1, 'micro'] = 'Si'
print (df_micro)
fig = px.pie(df_micro, values='counts', names='micro', title='Proporción viviendas con microondas en la huasteca',
color ='micro', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
tv=pd.value_counts(vivienda[11])
tv
df_tv= tv.rename_axis('tv').reset_index(name='counts')
df_tv = pd.DataFrame(df_tv)
df_tv.loc[df_tv['tv'] == 0, 'tv'] = 'No'
df_tv.loc[df_tv['tv'] == 1, 'tv'] = 'Si'
print (df_tv)
fig = px.pie(df_tv, values='counts', names='tv', title='Proporción viviendas con televisión en la huasteca',
color ='tv', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
radio=pd.value_counts(vivienda[12])
radio
df_radio= radio.rename_axis('radio').reset_index(name='counts')
df_radio = pd.DataFrame(df_radio)
df_radio.loc[df_radio['radio'] == 0, 'radio'] = 'No'
df_radio.loc[df_radio['radio'] == 1, 'radio'] = 'Si'
print (df_radio)
fig = px.pie(df_radio, values='counts', names='radio', title='Proporción viviendas con radio en la huasteca',
color ='radio', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
auto=pd.value_counts(vivienda[13])
auto
df_auto= auto.rename_axis('auto').reset_index(name='counts')
df_auto = pd.DataFrame(df_auto)
df_auto.loc[df_auto['auto'] == 0, 'auto'] = 'No'
df_auto.loc[df_auto['auto'] == 1, 'auto'] = 'Si'
print (df_auto)
fig = px.pie(df_auto, values='counts', names='auto', title='Proporción viviendas con auto en la huasteca',
color ='auto', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
refrigerador=pd.value_counts(vivienda[14])
refrigerador
df_refrigerador= refrigerador.rename_axis('refrigerador').reset_index(name='counts')
df_refrigerador = pd.DataFrame(df_refrigerador)
df_refrigerador.loc[df_refrigerador['refrigerador'] == 0, 'refrigerador'] = 'No'
df_refrigerador.loc[df_refrigerador['refrigerador'] == 1, 'refrigerador'] = 'Si'
print (df_refrigerador)
fig = px.pie(df_refrigerador, values='counts', names='refrigerador', title='Proporción viviendas con refrigerador en la huasteca',
color ='refrigerador', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
otro=pd.value_counts(vivienda[15])
otro
df_otro= otro.rename_axis('otro').reset_index(name='counts')
df_otro = pd.DataFrame(df_otro)
df_otro.loc[df_otro['otro'] == 0, 'otro'] = 'No'
df_otro.loc[df_otro['otro'] == 1, 'otro'] = 'Si'
print (df_otro)
fig = px.pie(df_otro, values='counts', names='otro', title='Proporción viviendas con otro bien en la huasteca',
color ='otro', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
Otro_bien=pd.value_counts(vivienda[9])
Otro_bien
df_Otro_bien= Otro_bien.rename_axis('Otro_bien').reset_index(name='counts')
df_Otro_bien = pd.DataFrame(df_Otro_bien)
df_Otro_bien.loc[df_Otro_bien['Otro_bien'] == 0, 'Otro_bien'] = 'No'
df_Otro_bien.loc[df_Otro_bien['Otro_bien'] == 1, 'Otro_bien'] = 'Si'
print (df_Otro_bien)
fig = px.pie(df_Otro_bien, values='counts', names='Otro_bien', title='Proporción de servicios de viviendas en la huasteca',
color ='Otro_bien', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
import plotly.graph_objects as go
fig = go.Figure(data=[
go.Bar(name='Microondas', y=vivienda['id'], x=vivienda[10]),
go.Bar(name='TV', y=vivienda['id'], x=vivienda[11]),
go.Bar(name='Radio', y=vivienda['id'], x=vivienda[12]),
go.Bar(name='Auto', y=vivienda['id'], x=vivienda[13]),
go.Bar(name='Refrigerador', y=vivienda['id'], x=vivienda[14]),
go.Bar(name='Otro', y=vivienda['id'], x=vivienda[15])
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
agua=pd.value_counts(vivienda[17])
agua
df_agua= agua.rename_axis('agua').reset_index(name='counts')
df_agua = pd.DataFrame(df_agua)
df_agua.loc[df_agua['agua'] == 0, 'agua'] = 'No'
df_agua.loc[df_agua['agua'] == 1, 'agua'] = 'Si'
print (df_agua)
fig = px.pie(df_agua, values='counts', names='agua', title='Proporción viviendas con agua potable en la huasteca',
color ='agua', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
luz=pd.value_counts(vivienda[18])
luz
df_luz= luz.rename_axis('luz').reset_index(name='counts')
df_luz = pd.DataFrame(df_luz)
df_luz.loc[df_luz['luz'] == 0, 'luz'] = 'No'
df_luz.loc[df_luz['luz'] == 1, 'luz'] = 'Si'
print (df_luz)
fig = px.pie(df_luz, values='counts', names='luz', title='Proporción viviendas con luz en la huasteca',
color ='luz', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
internet=pd.value_counts(vivienda[19])
internet
df_internet= internet.rename_axis('internet').reset_index(name='counts')
df_internet = pd.DataFrame(df_internet)
df_internet.loc[df_internet['internet'] == 0, 'internet'] = 'No'
df_internet.loc[df_internet['internet'] == 1, 'internet'] = 'Si'
print (df_internet)
fig = px.pie(df_internet, values='counts', names='internet', title='Proporción viviendas con internet en la huasteca',
color ='internet', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
celular=pd.value_counts(vivienda[20])
celular
df_celular= celular.rename_axis('celular').reset_index(name='counts')
df_celular = pd.DataFrame(df_celular)
df_celular.loc[df_celular['celular'] == 0, 'celular'] = 'No'
df_celular.loc[df_celular['celular'] == 1, 'celular'] = 'Si'
print (df_celular)
fig = px.pie(df_celular, values='counts', names='celular', title='Proporción viviendas con celular en la huasteca',
color ='celular', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
drenaje=pd.value_counts(vivienda[21])
drenaje
df_drenaje= drenaje.rename_axis('drenaje').reset_index(name='counts')
df_drenaje = pd.DataFrame(df_drenaje)
df_drenaje.loc[df_drenaje['drenaje'] == 0, 'drenaje'] = 'No'
df_drenaje.loc[df_drenaje['drenaje'] == 1, 'drenaje'] = 'Si'
print (df_drenaje)
fig = px.pie(df_drenaje, values='counts', names='drenaje', title='Proporción viviendas con drenaje en la huasteca',
color ='drenaje', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
otro_servicio=pd.value_counts(vivienda[22])
otro_servicio
df_otro_servicio= otro_servicio.rename_axis('otro_servicio').reset_index(name='counts')
df_otro_servicio = pd.DataFrame(df_otro_servicio)
df_otro_servicio.loc[df_otro_servicio['otro_servicio'] == 0, 'otro_servicio'] = 'No'
df_otro_servicio.loc[df_otro_servicio['otro_servicio'] == 1, 'otro_servicio'] = 'Si'
print (df_otro_servicio)
fig = px.pie(df_otro_servicio, values='counts', names='otro_servicio', title='Proporción de viviendas con otro servicio en la huasteca',
color ='otro_servicio', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
import plotly.graph_objects as go
fig = go.Figure(data=[
go.Bar(name='Agua potable', y=vivienda['id'], x=vivienda[17]),
go.Bar(name='Luz', y=vivienda['id'], x=vivienda[18]),
go.Bar(name='Internet', y=vivienda['id'], x=vivienda[19]),
go.Bar(name='Celular', y=vivienda['id'], x=vivienda[20]),
go.Bar(name='Drenaje', y=vivienda['id'], x=vivienda[21]),
go.Bar(name='Otro', y=vivienda['id'], x=vivienda[22])
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
servicios=pd.value_counts(vivienda[16])
servicios
df_servicios= servicios.rename_axis('servicios').reset_index(name='counts')
df_servicios = pd.DataFrame(df_servicios)
df_servicios.loc[df_servicios['servicios'] == 0, 'servicios'] = 'No'
df_servicios.loc[df_servicios['servicios'] == 1, 'servicios'] = 'Si'
print (df_servicios)
fig = px.pie(df_servicios, values='counts', names='servicios', title='Proporción de viviendas con servicios en la huasteca',
color ='servicios', color_discrete_map={'No':'#EF553B',
'Si':'#636EFA'})
fig.show()
fig = px.histogram(vivienda, x=25, title = "Número de habitaciones en la vivienda",
histnorm='probability density')
fig.update_yaxes(title_text='Cuenta del número habitaciones')
fig.update_xaxes(title_text='Cantidad de habitaciones')
fig.show()
fig = px.histogram(vivienda, x=26, title = "Tipo de cocina",
histnorm='probability density')
fig.update_yaxes(title_text='Cuentas')
fig.update_xaxes(title_text='Tipo de cocina')
fig.show()
fig = px.histogram(vivienda, x=27, title = "Tipo de cocina",
histnorm='probability density')
fig.update_yaxes(title_text='Cuentas')
fig.update_xaxes(title_text='Tipo de cocina')
fig.show()
fig = px.histogram(vivienda, x=28, title = "Tipo de baño",
histnorm='probability density')
fig.update_yaxes(title_text='Cuentas')
fig.update_xaxes(title_text='Tipo de baño')
fig.show()
vivienda.iloc[:,26:35]
fig = go.Figure(data=[
go.Bar(name='Gallinero', y=vivienda['id'], x=vivienda[30]),
go.Bar(name='Chiquero', y=vivienda['id'], x=vivienda[31]),
go.Bar(name='Corral', y=vivienda['id'], x=vivienda[32])
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
fig = px.histogram(vivienda, x=33, title = "Número de gallinas en la vivienda",
histnorm='probability density')
fig.update_yaxes(title_text='Cuenta del número gallinas')
fig.update_xaxes(title_text='Cantidad de gallinas')
fig.show()
fig = px.histogram(vivienda, x=34, title = "Número de cerdos en la vivienda",
histnorm='probability density')
fig.update_yaxes(title_text='Cuenta del número cerdos')
fig.update_xaxes(title_text='Cantidad de cerdos')
fig.show()
df_enfermedad = pd.read_excel('Encuesta_Alimentaria_huasteca_alumnos.xlsx',6)
# conversion de columnas a subtablas
new_name = list(range(15))
new_name
df_enfermedad.columns = new_name
df_enfermedad.columns
df_enfermedad.insert(0, 'id',list(range(3)), True)
#df_enfermedad
#Enfermedades 3=Diabetes, 4 = Hipertension, 5 = obesidad, 6= Anemía, 7 = Desnutrición
data=[df_enfermedad[3], df_enfermedad[4], df_enfermedad[5],df_enfermedad[6],df_enfermedad[7]]
fig = px.imshow(data,
labels=dict(x="Número de productor", y="Enfermedad", color="presencia"),
#x=['Padre', 'Madre','Madre'],
y=['Diabetes', 'Hipertensión', 'Obesidad', 'Anemía', 'Desnutrición']
)
fig.update_xaxes(side="top")
fig.show()
df_fam_terreno = pd.read_excel('Resumen_Encuesta_Alimentaria-Terrenos_parcelas.xlsx',0)
#df_fam_terreno.iloc[:,11:41]
#df_fam_terreno
# conversion de columnas a subtablas
new_name = list(range(115))
new_name
df_fam_terreno.columns = new_name
df_fam_terreno.columns
df_fam_terreno.insert(0, 'id',list(range(58)), True)
#df_fam_terreno
df_fam_terreno.iloc[:,11:41]
fig = px.histogram(df_fam_terreno, x=11, title = "Número de gallinas en la vivienda",
histnorm='probability density')
fig = px.histogram(df_fam_terreno, x=12, title = "Número de gallinas en la vivienda",
histnorm='probability density')
fig.update_yaxes(title_text='Cuenta del número gallinas')
fig.update_xaxes(title_text='Cantidad de gallinas')
fig.show()
import plotly.graph_objects as go
import numpy as np
fig = go.Figure()
fig.add_trace(go.Histogram(x=df_fam_terreno[11], name = 'ajonjoli'))
fig.add_trace(go.Histogram(x=df_fam_terreno[12], name = 'calabaza'))
fig.add_trace(go.Histogram(x=df_fam_terreno[13], name = 'camote de tierra'))
fig.add_trace(go.Histogram(x=df_fam_terreno[14], name = 'camote blanco'))
fig.add_trace(go.Histogram(x=df_fam_terreno[15], name = 'camote morado'))
fig.add_trace(go.Histogram(x=df_fam_terreno[16], name = 'caña'))
fig.add_trace(go.Histogram(x=df_fam_terreno[17], name = 'chayote'))
fig.add_trace(go.Histogram(x=df_fam_terreno[18], name = 'chile piquin'))
fig.add_trace(go.Histogram(x=df_fam_terreno[19], name = 'cilantro'))
fig.add_trace(go.Histogram(x=df_fam_terreno[20], name = 'frijol'))
fig.add_trace(go.Histogram(x=df_fam_terreno[21], name = 'lenteja'))
fig.add_trace(go.Histogram(x=df_fam_terreno[22], name = 'maiz'))
fig.add_trace(go.Histogram(x=df_fam_terreno[23], name = 'nopal'))
fig.add_trace(go.Histogram(x=df_fam_terreno[24], name = 'otros'))
fig.add_trace(go.Histogram(x=df_fam_terreno[25], name = 'Aguacate'))
fig.add_trace(go.Histogram(x=df_fam_terreno[26], name = 'Aguacate oloroso'))
fig.add_trace(go.Histogram(x=df_fam_terreno[27], name = 'jobo'))
fig.add_trace(go.Histogram(x=df_fam_terreno[28], name = 'liche'))
fig.add_trace(go.Histogram(x=df_fam_terreno[29], name = 'limón'))
fig.add_trace(go.Histogram(x=df_fam_terreno[30], name = 'mango manila'))
fig.add_trace(go.Histogram(x=df_fam_terreno[31], name = 'naranja'))
fig.add_trace(go.Histogram(x=df_fam_terreno[32], name = 'flor de palma'))
fig.add_trace(go.Histogram(x=df_fam_terreno[33], name = 'papaya'))
fig.add_trace(go.Histogram(x=df_fam_terreno[34], name = 'platano'))
fig.add_trace(go.Histogram(x=df_fam_terreno[35], name = 'platano macho'))
fig.add_trace(go.Histogram(x=df_fam_terreno[36], name = 'manzano'))
fig.add_trace(go.Histogram(x=df_fam_terreno[37], name = 'platano tabasco'))
fig.add_trace(go.Histogram(x=df_fam_terreno[38], name = 'xonacate blanco'))
fig.add_trace(go.Histogram(x=df_fam_terreno[39], name = 'otros frutales'))
fig.add_trace(go.Histogram(x=df_fam_terreno[40], name = 'yuca'))
# Overlay both histograms
#fig.update_layout(barmode='overlay')
# gap bars
fig.update_layout(
title_text='Cultivos en la Huasteca', # title of plot
xaxis_title_text='Tipo de uso', # xaxis label
yaxis_title_text='Cuenta', # yaxis label
bargap=0.2, # gap between bars of adjacent location coordinates
bargroupgap=0.1 # gap between bars of the same location coordinates
)
# Reduce opacity to see both histograms
fig.update_traces(opacity=0.75)
fig.show()
#Columas de precios y cantidad.
#df_fam_terreno.iloc[:,42:103]
# Precios venta: ajonjoli (41 cantidad,42 costo)
caxtilan=df_fam_terreno[df_fam_terreno[94] == 'Caxtilan']
jacube=df_fam_terreno[df_fam_terreno[94] == 'Jacube']
cania = df_fam_terreno[df_fam_terreno[98] == 'Caña']
mandarina = df_fam_terreno[df_fam_terreno[98] == 'Mandarina']
tamarindo = df_fam_terreno[df_fam_terreno[98] == 'Tamarindo']
fig = go.Figure(data=[
go.Bar(name='Ajonjili', y=df_fam_terreno[42], x=df_fam_terreno[41]),
go.Bar(name='calabaza', y=df_fam_terreno[45], x=df_fam_terreno[43]),
go.Bar(name='camote de tierra', y=df_fam_terreno[48], x=df_fam_terreno[46]),
go.Bar(name='chayote', y=df_fam_terreno[53], x=df_fam_terreno[51]),
go.Bar(name='chile piquin', y=df_fam_terreno[56], x=df_fam_terreno[54]),
go.Bar(name='cilantro', y=df_fam_terreno[59], x=df_fam_terreno[57]),
go.Bar(name='frijol', y=df_fam_terreno[63], x=df_fam_terreno[60]),
go.Bar(name='lenteja', y=df_fam_terreno[65], x=df_fam_terreno[64]),
go.Bar(name='maíz', y=df_fam_terreno[69], x=df_fam_terreno[66]),
go.Bar(name='nopal', y=df_fam_terreno[73], x=df_fam_terreno[70]),
go.Bar(name='aguacate', y=df_fam_terreno[76], x=df_fam_terreno[74]),
go.Bar(name='liche', y=df_fam_terreno[79], x=df_fam_terreno[77]),
go.Bar(name='platano', y=df_fam_terreno[83], x=df_fam_terreno[81]),
go.Bar(name='platano rebotado', y=df_fam_terreno[88], x=df_fam_terreno[86]),
go.Bar(name='xoncate blanco', y=df_fam_terreno[91], x=df_fam_terreno[89]),
go.Bar(name='chimequel', y=df_fam_terreno[93], x=df_fam_terreno[92]),
go.Bar(name='caxtilan', y=caxtilan[97], x=caxtilan[95]),
go.Bar(name='jacube', y=jacube[97], x=jacube[95]),
go.Bar(name='caña', y=cania[101], x=cania[99]),
go.Bar(name='mandarina', y=mandarina[101], x=mandarina[99]),
go.Bar(name='tamarindo', y=tamarindo[101], x=tamarindo[99])
])
# Change the bar mode
#fig.update_layout(barmode='stack')
fig.update_layout(
title_text='Cultivos en la Huasteca cantidad Vs. Precio', # title of plot
xaxis_title_text='Cantidad producida', # xaxis label
yaxis_title_text='Precio de venta', # yaxis label
bargap=0.5, # gap between bars of adjacent location coordinates
bargroupgap=0.5# gap between bars of the same location coordinates
)
fig.show()
# Calculo del valor de producción
valor = df_fam_terreno.iloc[:,42:103]
caxtilan=df_fam_terreno[df_fam_terreno[94] == 'Caxtilan']
jacube=df_fam_terreno[df_fam_terreno[94] == 'Jacube']
cania = df_fam_terreno[df_fam_terreno[98] == 'Caña']
mandarina = df_fam_terreno[df_fam_terreno[98] == 'Mandarina']
tamarindo = df_fam_terreno[df_fam_terreno[98] == 'Tamarindo']
cval=caxtilan.iloc[:,42:103]
jval=jacube.iloc[:,42:103]
caval = cania.iloc[:,42:103]
mval = mandarina.iloc[:,42:103]
tval = tamarindo.iloc[:,42:103]
valor = valor.replace(np.nan,0) #replazamos todos los valores nan a 0 para las operaciones
cval = cval.replace(np.nan,0)
jval = jval.replace(np.nan,0)
caval = caval.replace(np.nan,0)
cval = cval.replace(np.nan,0)
mval = mval.replace(np.nan,0)
tval = tval.replace(np.nan,0)
valor_prod = valor[41]*valor[42] + valor[43]*valor[45] + valor[46]*valor[48] + valor[51]*valor[53] +\
valor[54]*valor[56] + valor[57]*valor[59] + valor[60]*valor[63] + valor[64]*valor[65] +\
valor[66]*valor[69] + valor[70]*valor[73] + valor[74]*valor[76] + valor[77]*valor[79] +\
valor[81]*valor[83] + valor[86]*valor[88] + valor[89]*valor[91] + valor[92]*valor[93] +\
valor[95]*valor[97] + valor[99]*valor[101]
#valor_prod2 = valor[43]*valor[45]
#print(valor_prod)
#print(valor_prod2)
#vprod = valor_prod+valor_prod2
#valor_prod
df_fam_terreno.insert(1, 'vproductos',valor_prod, True)
#df_fam_terreno
# Calculo estandarizado de la extension de terrenos (Ha)
df_fam_terreno['ext']= np.where(df_fam_terreno[4] == 'Ha (Hectarea)', df_fam_terreno[3] , df_fam_terreno[3]*0.0001)
#ext = df_fam_terreno[3] if df_fam_terreno[4] == 'Ha (Hectarea)' else df_fam_terreno[3]
#df_fam_terreno
fig = px.scatter(df_fam_terreno, x="vproductos", y='ext', color = 5)
fig.show()
fig = px.scatter(df_fam_terreno, x=111, y='vproductos', color = 6, size ="ext")
fig.show()
#df_fam_terreno['vproductos'].groupby(df_fam_terreno[111]).size()
# Precios venta: ajonjoli (41 cantidad,42 costo)
caxtilan=df_fam_terreno[df_fam_terreno[94] == 'Caxtilan']
jacube=df_fam_terreno[df_fam_terreno[94] == 'Jacube']
cania = df_fam_terreno[df_fam_terreno[98] == 'Caña']
mandarina = df_fam_terreno[df_fam_terreno[98] == 'Mandarina']
tamarindo = df_fam_terreno[df_fam_terreno[98] == 'Tamarindo']
fig = go.Figure(data=[
#go.Bar(name='Ajonjili', y=df_fam_terreno[42], x=df_fam_terreno[41]),
go.Bar(name='calabaza', y=df_fam_terreno[45], x=df_fam_terreno[44]),
go.Bar(name='camote de tierra', y=df_fam_terreno[48], x=df_fam_terreno[47]),
go.Bar(name='chayote', y=df_fam_terreno[53], x=df_fam_terreno[52]),
go.Bar(name='chile piquin', y=df_fam_terreno[56], x=df_fam_terreno[55]),
go.Bar(name='cilantro', y=df_fam_terreno[59], x=df_fam_terreno[58]),
go.Bar(name='frijol', y=df_fam_terreno[63], x=df_fam_terreno[61]),
#go.Bar(name='lenteja', y=df_fam_terreno[65], x=df_fam_terreno[64]),
go.Bar(name='maíz', y=df_fam_terreno[69], x=df_fam_terreno[67]),
go.Bar(name='nopal', y=df_fam_terreno[73], x=df_fam_terreno[71]),
go.Bar(name='aguacate', y=df_fam_terreno[76], x=df_fam_terreno[75]),
go.Bar(name='liche', y=df_fam_terreno[79], x=df_fam_terreno[78]),
go.Bar(name='platano', y=df_fam_terreno[83], x=df_fam_terreno[82]),
go.Bar(name='platano rebotado', y=df_fam_terreno[88], x=df_fam_terreno[87]),
go.Bar(name='xoncate blanco', y=df_fam_terreno[91], x=df_fam_terreno[90]),
# go.Bar(name='chimequel', y=df_fam_terreno[93], x=df_fam_terreno[92]),
go.Bar(name='caxtilan', y=caxtilan[97], x=caxtilan[96]),
go.Bar(name='jacube', y=jacube[97], x=jacube[96]),
go.Bar(name='caña', y=cania[101], x=cania[100]),
go.Bar(name='mandarina', y=mandarina[101], x=mandarina[100]),
go.Bar(name='tamarindo', y=tamarindo[101], x=tamarindo[100])
])
# Change the bar mode
#fig.update_layout(barmode='stack')
fig.update_layout(
title_text='Cultivos en la Huasteca cantidad Vs. Precio', # title of plot
xaxis_title_text='Tipo de venta', # xaxis label
yaxis_title_text='Precio de venta', # yaxis label
bargap=0.5, # gap between bars of adjacent location coordinates
bargroupgap=0.5# gap between bars of the same location coordinates
)
fig.show()